package it.univaq.mancoosi.injectors.systemconfiguration.managers;

import it.univaq.mancoosi.mancoosimm.InformationFile;
import it.univaq.mancoosi.mancoosimm.MancoosiFactory;

import java.io.IOException;

public abstract class InformationFileManager {
	
	protected static InformationFileManager INSTANCE;
	protected MancoosiFactory factory; 
	protected InformationFile infoFile;

	protected InformationFileManager(){
		this.factory = MancoosiFactory.eINSTANCE;
		infoFile = factory.createInformationFile(); 
	}

	public static InformationFileManager getInstance() {
		return INSTANCE;
	}
	
	public InformationFile getInfoFile() {
		return infoFile;
	}

	public abstract void createInformationFileFromSystem();

	public abstract void synchronize() throws IOException;
}
